// 封装分类数据业务相关代码
import { ref, onMounted } from "vue";
import { useRoute } from "vue-router";
import { getCategoryAPI } from "@/apis/category";
import { onBeforeRouteUpdate } from "vue-router";
export const useCategory = () => {
  const categoryData = ref({});
  const router = useRoute();
  // 如果传了id就用传的id，如果没传id就用路由的id
  const getCategory = async (id = router.params.id) => {
    const res = await getCategoryAPI(id);
    categoryData.value = res.result;
  };

  onMounted(() => {
    getCategory();
  });
  // 目标：路由参数变化的时候 可以重新发送分类数据接口
  onBeforeRouteUpdate((to) => {
    // 在这里调用接口拿不到最新的路由参数，但是to中有最新的路由参数
    console.log(to);
    getCategory(to.params.id);
  });
  return {
    categoryData,
  };
};
